﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once
#include "IParameterValueStorage.h"

namespace gcmp
{
    /// \brief bool类型参数接口类
    class GCMP_MODEL_INTERFACE_EXPORT IParameterValueBool : public IParameterValueStorage
    {
    public:
        DEFINE_CAST_DERIVED(gcmp::IParameterValueBool, gcmp::IParameterValueStorage)

    public:
        /// \brief 创建一个存储类型为bool的参数值存储对象
        ///
        /// \param value 参数值
        /// \return 参数值存储对象
        static OwnerPtr<IParameterValueBool> Create(bool value);

        /// \brief 设置参数值
        ///
        /// \param value 参数值
        /// \return true 设置成功， false 设置失败
        virtual bool SetValue(bool value) = 0;
        
        /// \brief 获取参数值
        ///
        /// \return 参数值
        virtual bool GetValue() const = 0;
    };
}


